Serverless FrameworkをTypeScriptでやる
Serverless Framework、AWS LambdaをTypeScriptでやる
参考にするブログが書かれた時期によって書き方がけっこう異なるので注意mrsekut.icon
2018年ですら古い
template
$ sls create -t aws-nodejs-typescript -p hogehoge
TS作成した後に毎回やってること
1コマンドでできるようにしたいmrsekut.icon
これ、slsのコマンドのテンプレ変えられないのかな
https://www.serverless.com/framework/docs/providers/aws/cli-reference/create/
package.jsonのライブラリの更新
ncuを使って、typescriptのversionを上げる
tsconfig.jsonの設定がしょぼいので厳しくする
npm packageを導入する
$ npm i -D @types/aws-sdk
これ、aws-sdk-js自体は既に入っているのか?よくわからんmrsekut.icon
aws-sdk-js
serverless.ymlを編集
runtime: nodejs14.xにする
Serverless Framework#5f0d23051982700000a55f45をやる
古い書き方
table:対応
だいたいの時期 Lambdaが対応しているNode.jsのVersion
2017 v4.3
2021 v14 https://aws.amazon.com/jp/blogs/compute/node-js-14-x-runtime-now-available-in-aws-lambda/
「古い記事」に気付くキーワードとかmrsekut.icon
古いからダメなわけではない、そのままコピペはしたくないね、という話
context.doneを使っているものは古い
2018年とかはこれ
.d.tsでもdeprecatedとコメントが有る
理由はこの辺かな
代わりにcallbackを使う
table:対応
古い 新しい
context.succeed("hoge") callback(null, "hoge")
context.callbackWaitsForEmptyEventLoop
https://dev.classmethod.jp/articles/learn-about-difference-between-context-succeed-and-callback/
#??
なんかclient側で指定したflugによって、そのtoriggerを実行するかどうかを切り替えられないか?
同じemailで登録できないようにするtoriggerはdebug時にダルいので、client側のフラグで切り替えたい